﻿using System.Collections.Generic;
using System;
using Informant.Authentication;

namespace Informant.Contacts
{
	public interface IContactsClient
	{
		/// <summary>
		/// Retrieves all contacts.
		/// </summary>
		/// <returns></returns>
		/// <exception cref="System.Security.Authentication.AuthenticationException"/>
		/// <exception cref="System.Net.WebException"/>
		/// <exception cref="System.InvalidOperationException"/>
		IEnumerable<IContact> RetrieveAllContacts();
		/// <summary>
		/// Retrieves all groups.
		/// </summary>
		/// <returns></returns>
		/// <exception cref="System.Security.Authentication.AuthenticationException"/>
		/// <exception cref="System.Net.WebException"/>
		/// <exception cref="System.InvalidOperationException"/>
		IEnumerable<IGroup> RetrieveAllGroups();
	}
}
